Testing and Debugging Persistently Reactive Systems − A New Challenge in Software Engineering −
نویسنده
چکیده
The ultimate goal of ubiquitous computing is to provide users with the way of computing anytime and anywhere A necessary condition and/or fundamental assumption to underlie ubiquitous computing is that there certainly are computing (information) systems working anytime available anywhere throughout the physical world. This paper raises a completely new technical issue in the age of ubiquitous computing: how to test and debug a persistently reactive system running continuously? A persistently reactive system is a reactive system that can run continuously anytime without stopping its service even then it had some trouble, it is being attacked, or it is being maintained or reconfigured. The maintenance, upgrade, and reconfiguration of a persistently reactive system have to be performed during its continuous running. However, almost all the existing testing and debugging technologies take programs of a system rather than the running system itself as the objects and/or targets, and assume that any program can be executed repeatedly with various input data only for testing and debugging without regard to stopping the task that program has to perform. In order to develop, use, and maintain persistently reactive systems, we have to find a new way to test and debug a system running continuously and persistently. This is a completely new challenge in software engineering. Keyword Ubiquitous Computing, Persistently Reactive Systems, Soft System Buses, Highly Reliability, Highly Security
منابع مشابه
MARKOVIAN SOFTWARE RELIABILITY MODEL FOR TWO TYPES OF FAILURES WITH IMPERFECT DEBUGGING RATE AND GENERATION OF ERRORS
N
متن کاملTerm Dependence Graphs 1
Program slicing is a method for decomposing programs by analyzing their data and control flow. It has many applications in the field of software engineering (like program debugging, testing, code reuse, maintenance, etc). The so called program dependence graph—a data structure that stores control and data dependences between the statements of imperative programs—is a key ingredient of many slic...
متن کاملPredictable Assemblies using Monitored Software Components
We propose monitoring of software components, and use of monitored software components, as a general approach for engineering of embedded computer systems. The concept is general in the sense that it addresses the whole product lifecycle including development, debugging, testing and maintenance. Also, reuse across multiple product versions and variants are facilitated by our approach to monitor...
متن کاملA New Procedure for Reactive Power Market Clearing Considering Distributed Energy Resources
Traditionally, conventional generation unit was used to provide ancillary services e.g. reactive power support, and spinning reserve. Nonetheless, with the emergence of highly penetrated distributed energy resources (DERs) systems and considering how beneficial they can be; it appears reasonable to use them as reactive power providers. Therefore, this paper introduces a new procedure for DERs t...
متن کاملDesigning Debugging Models for Object Oriented Systems
Bugs are inevitable in any software development life cycle. Most bugs are detected and removed in the testing phase. In software, we can classify bugs into two categories: (1) bugs of different severity (2) bugs of different complexity. Prior knowledge of bug distribution of different complexity in software can help project managers in allocating testing resources and tools. Various researchers...
متن کامل